package com.quectel.constant.core;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author yubobo
 * @email bobo.yu@quectel.com
 * @date 2022/1/10 下午2:17
 * 智能预警类型
 */
public class PreWarnConstants {

    @AllArgsConstructor
    public static enum AlarmTypeEnum {

        /**
         * 人员久出
         */
        LONG_OUT_NO_IN((byte) 1, "人员久出未归"),

        /**
         * 人员久归
         */
        LONG_IN_NO_OUT((byte) 2, "人员久归未出"),

        /**
         * 车辆频繁进出
         */
        CAR_RECORD_TOO_MANY((byte)3, "车辆频繁进出");

        @Getter
        private final Byte type;
        @Getter
        private final String desc;

        public static String getDescByType(Byte type) {
            for (AlarmTypeEnum value : values()) {
                if (value.type.equals(type)) {
                    return value.desc;
                }
            }
            return null;
        }
    }

    @AllArgsConstructor
    public static enum AlarmStatusEnum {

        /**
         * 开启
         */
        ENABLE((byte) 1),

        /**
         * 关闭
         */
        DISABLE((byte) 0),

        /**
         * 未设置
         */
        NO_SETTING((byte)-1);

        @Getter
        private final Byte status;
    }
}
